package view

import (
	"github.com/gogf/gf/v2/net/ghttp"
	"miaoyu/internal/service"

	"miaoyu/internal/library/resp"
)

/*
@Time : 2023/6/19 17:13
@Author : 56766
@File : json.logic.go

*/

func init() {
	json := sJsonResp{}
	service.RegisterJsonResp(&json)
}

type sJsonResp struct {
}

// CommonResp 返回一个成功的消息体 工厂函数
func (s *sJsonResp) CommonResp(r *ghttp.Request) *resp.JsonData {
	msg := resp.JsonResult{
		Code:     resp.ComCode,
		Msg:      "操作完成",
		Data:     nil,
		Redirect: "",
		Count:    0,
	}
	var a = resp.JsonData{
		C: &msg,
		R: r,
	}
	return &a
}

// SuccessResp 返回一个成功的消息体
func (s *sJsonResp) SuccessResp(r *ghttp.Request) *resp.JsonData {
	msg := resp.JsonResult{
		Code: resp.SucCode,
		Msg:  "操作成功",
		Data: nil,
	}
	var a = resp.JsonData{
		C: &msg,
		R: r,
	}
	return &a
}

// ErrorResp 返回一个错误的消息体
func (s *sJsonResp) ErrorResp(r *ghttp.Request) *resp.JsonData {
	msg := resp.JsonResult{
		Code: resp.ErrCode,
		Msg:  "操作失败",
	}
	var a = resp.JsonData{
		C: &msg,
		R: r,
	}
	return &a
}

// ForbiddenResp 返回一个拒绝访问的消息体
func (s *sJsonResp) ForbiddenResp(r *ghttp.Request) *resp.JsonData {
	msg := resp.JsonResult{
		Code: resp.ForbiddenCode,
		Msg:  "无操作权限",
	}
	var a = resp.JsonData{
		C: &msg,
		R: r,
	}
	return &a
}
